package org.jeecg.modules.htxincailiao.account.domain.vo;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.modules.htxincailiao.address.domain.vo.HTAddressVO;
import org.jeecg.modules.htxincailiao.enterprise.entity.HTBusinessModelCategory;
import org.jeecg.modules.htxincailiao.industry.entity.HTIndustryCategory;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: ht_merchant
 * @Author: jeecg-boot
 * @Date:   2021-07-02
 * @Version: V1.0
 */
@Data
@TableName("ht_merchant")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ht_merchant对象", description="ht_merchant")
public class HTMerchantVO implements Serializable {

    private HTAddressVO address;

    private HTIndustryCategory industryCategory;

    private HTBusinessModelCategory businessModel;

    private static final long serialVersionUID = 1L;

    /**用户ID*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "用户ID")
    private String id;

    @ApiModelProperty(value = "账户类型:0-后台用户 1-平台会员 2-问答专家 3-平台商户 4-评估机构 5-联盟成员")
    private Integer accountType;


    /**密码*/
    @Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
    private String password;
    /**登录账号*/
    @Excel(name = "登录账号", width = 15)
    @ApiModelProperty(value = "登录账号")
    private String username;
    /**参会人员*/
    @Excel(name = "参会人员", width = 15)
    @ApiModelProperty(value = "参会人员")
    private String participant;
    /**手机号*/
    @Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private String phoneNumber;
    /**后台账号ID*/
    @Excel(name = "后台账号ID", width = 15)
    @ApiModelProperty(value = "后台账号ID")
    private String sysUserId;
    /**企业地址ID*/
    @Excel(name = "企业地址ID", width = 15)
    @ApiModelProperty(value = "企业地址ID")
    private String enterpriseAddressId;
    /**收货地址*/
    @Excel(name = "收货地址", width = 15)
    @ApiModelProperty(value = "收货地址")
    private String buyerAddressId;
    /**邮箱*/
    @Excel(name = "邮箱", width = 15)
    @ApiModelProperty(value = "邮箱")
    private String email;
    /**企业名*/
    @Excel(name = "企业名", width = 15)
    @ApiModelProperty(value = "企业名")
    private String enterpriseName;
    /**行业分类ID*/
    @Excel(name = "行业分类ID", width = 15, dictTable = "ht_industry_category", dicText = "name", dicCode = "id")
    @Dict(dictTable = "ht_industry_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "行业分类ID")
    private String industryCategoryId;
    /**营业执照*/
    @Excel(name = "营业执照", width = 15)
    @ApiModelProperty(value = "营业执照")
    private String certificate;
    /**其他资质*/
    @Excel(name = "其他资质", width = 15)
    @ApiModelProperty(value = "其他资质")
    private String otherCertificates;
    /**开户银行*/
    @Excel(name = "开户银行", width = 15)
    @ApiModelProperty(value = "开户银行")
    private String bankAccountName;
    /**银行账号*/
    @Excel(name = "银行账号", width = 15)
    @ApiModelProperty(value = "银行账号")
    private String bankAccountNum;
    /**机构Logo*/
    @Excel(name = "机构Logo", width = 15)
    @ApiModelProperty(value = "机构Logo")
    private String logo;
    /**企业主图*/
    @Excel(name = "企业主图", width = 15)
    @ApiModelProperty(value = "企业主图")
    private String cover;
    /**简介*/
    @Excel(name = "简介", width = 15)
    @ApiModelProperty(value = "简介")
    private String introduction;
    /**经营模式*/
    @Excel(name = "经营模式", width = 15, dictTable = "ht_business_model_category", dicText = "name", dicCode = "id")
    @Dict(dictTable = "ht_business_model_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "经营模式")
    private String businessModelId;
    /**注册资金*/
    @Excel(name = "注册资金", width = 15)
    @ApiModelProperty(value = "注册资金")
    private String registeredCapital;
    /**年营业额*/
    @Excel(name = "年营业额", width = 15)
    @ApiModelProperty(value = "年营业额")
    private String yearlyTurnover;
    /**密码盐*/
    @Excel(name = "密码盐", width = 15)
    @ApiModelProperty(value = "密码盐")
    private String salt;
    /**审核状态*/
    @Excel(name = "审核状态", width = 15, dicCode = "audit_status")
    @Dict(dicCode = "audit_status")
    @ApiModelProperty(value = "审核状态")
    private Integer auditStatus;
    /**审核人*/
    @Excel(name = "审核人", width = 15)
    @ApiModelProperty(value = "审核人")
    private String auditUsername;
    /**是否冻结*/
    @Excel(name = "是否冻结", width = 15, dicCode = "is_locked")
    @Dict(dicCode = "is_locked")
    @ApiModelProperty(value = "是否冻结")
    private Integer isLocked;
    /**逻辑删除：0-未删除,1-删除。*/
    @Excel(name = "逻辑删除：0-未删除,1-删除。", width = 15)
    @ApiModelProperty(value = "逻辑删除：0-未删除,1-删除。")
    private String isDeleted;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "企业家")
    private List<HTEntrepreneurVo> entrepreneurVoList;
}
